The present invention generally relates to storing and reading digital images in and from a storage device. More particularly, the present invention is directed at providing a reduction in storage space when storing a large number of digital images, typically in the form of a sequence of images from a surveillance camera.
Surveillance camera systems are commonly used for monitoring various business areas, such as cashier windows at a bank or gambling tables at a casino. Traditionally, such surveillance systems have included analog video cameras, which continuously record all activities within a surveillance zone on a magnetic tape cassette, such as a standard VHS cassette. Typically, such cassettes have a nominal recording time of a few hours, e.g. 2, 4 or 8 hours. When a tape cassette has been fully recorded, the cassette will have to be substituted by an empty one by a human operator.
The maximum recording time may be increased by reducing the speed, at which the magnetic tape is moved in relation to the recording head, thereby reducing the number of frames stored per second. In this way the maximum recording time for a standard VHS tape may be extended to e.g. 48 hours, thereby obviously also extending the time between cassette substitution correspondingly. However, the penalty for not having to switch tapes as frequently is a substantial reduction in image quality for the entire recording time.
In recent years, digital surveillance cameras have entered the market. Such cameras produce a sequence of digital snapshot images or still images at a constant rate. For instance, European-type digital video cameras produce images at a rate of 25 images or frames per second (fps), whereas US-type digital video cameras operate at 30 fps. When the sequence of images is played back, the rapid switch between images is transparent to a human observer. Instead, the sequence of snapshot images is experienced as a continuous stream of moving images. It is also known to use less advanced digital still cameras for surveillance purposes, wherein a digital still image is captured for instance each second and is then saved in sequence on an external storage device, such as a computer.
The output of digital cameras is stored on an appropriate storage medium, such as a magnetic disk (hard disk), an optical disk (CD, DVD) or a digital magnetic tape (DAT). Similarly, the output of analog cameras may be digitized into a sequence of digital images to be stored on such a storage medium.
The images are usually compressed by way of a data compression algorithm, such as JPEG, wavelet or fractal compression, wherein certain image information is eliminated and the amount of storage space is reduced accordingly for each individual image.
Moreover, digital video sequences are normally compressed through MPEG compression, which operates in a differential manner in that the redundancy between subsequent images is reduced by discrete Fourier transforms. More specifically, certain individual images are treated as isolated still images and act as base or reference frames (also known as xe2x80x9cintra framesxe2x80x9d) for surrounding images. Such surrounding frames are referred to as either xe2x80x9cpredicted framesxe2x80x9d or xe2x80x9cbidirectional framesxe2x80x9d, and the compression aims at minimizing the redundancy of these frames with respect to their corresponding intra frame. Typically, in MPEG-1, every 12th image is an intra frame; in other words, an intra frame occurs once every 0.4 seconds in a 30 fps video sequence.
In a typical, fairly simple surveillance application, such as the monitoring of an automatic teller machine (ATM), a fixed surveillance camera is used without any options for panning, tilting or zooming. In such a case, normally all images will look essentially the same for long periods of time (for instance, during all the time periods when no customer is using the ATM). Even MPEG compression would be a waste of storage space, since every 0.4 seconds a non-MPEG-compressed intra frame is stored, which very likely will look virtually identical to the previous intra frame as well as the ones before that.
U.S. Pat. No. 5,519,436 relates to a video teleconferencing system including a video controller with means for storing a reference image, means for receiving a foreground image, means for comparing the reference image with the foreground image, thereby identifying matching pixels, and means for replacing the matching pixels in the foreground image with null pixels. The reference image is intended to represent a fixed background and is initially captured and stored in the video controller at system start-up. The reference image then remains static or unmodified in a video memory of the video controller during the operation of the system.
By replacing matching pixels in the foreground image with null pixels, the thus modified foreground image may be processed more efficiently by a video compression algorithm and may also be more expediently transferred across a network. Consequently, the system of U.S. Pat. No. 5,519,436 is capable of reducing the amount of storage space required for storing the video images. The system, however, has a drawback in that the static reference image is generated once and for all at start-up and is never updated from that moment. In reality, however, the background will not remain completely static, as the environment will change over time. For instance, the light situation may change from dark to light or vice versa depending on the time of day, objects in the background may be moved, the video camera may be unintentionally tilted or moved in position, etc. As a result, the difference between a current foreground image and the initially generated background image will grow larger over time, since the pixel information in the two images will be more and more different from each other. Therefore, the resulting file size of the processed foreground image, i.e. the storage space occupied when storing the foreground image, will grow larger and larger.
It is therefore an object of the present invention to further reduce the amount of storage space required for storing large sequences of digital images in e.g. a surveillance camera system, where many of the images look essentially the same during long periods of time.
The object is achieved by an apparatus for storing digital images having a storage device and an image processing device. The image processing device receives an individual digital image, determines a difference between the digital image and a current reference image and stores this difference as a differential image in the storage device. Reference image updating means is provided for determining when to generate a new reference image. A new reference image thus generated will replace the current reference image and will be stored as current reference image in the storage device. For each individual differential image an identifying reference to the current reference image is stored in the storage device.
An individual differential image may subsequently be read together with the particular reference image, which was used as current reference image when producing the differential image in question. A non-differential image is produced by adding the individual differential image to the identified reference image.
Other objects, features and advantages of the present invention will appear from the following detailed disclosure of preferred and alternative embodiments, from the drawings as well as from the claims.